package calao.plan;

import calao.plan.client.PlanService;
import calao.plan.client.Task;
import calao.storage.Record;

public interface ExtendedPlanService
extends PlanService
{

	public <T extends Task> 
	T[] getTasks(int[] tids, TaskType<T> type);
	
	public <T extends Task> 
	T[] getPeriodTasks(long periodStart, long periodEnd, TaskType<T> type); 
	
	public <T extends Task> 
	T[] listScheduledResourceTasks(int resource, TaskType<T> type);
	
	public <T extends Task> 
	T[] listUnscheduledTasks(TaskType<T> type);
	
	public Task getTaskInfo(Record record);
}
